var { initObj, formatObj } = require('../libs/common');

var init = function (data) {
    return initObj(mod, data);
}

var format = function (data) {
    return formatObj(mod, data);
}

// 订单表
var mod = {
    pcode: {
        name: '当前用户code',
        type: 'string',
        length: 12
    },
    // 性别
    grender: {
        type: 'string',
        default:'女',
        length: 2
    },
    // 编号
    num: {
        type: 'Number',
        length: 12
    },
    invitecode: {
        name: '推荐人code',
        type: 'string',
        length: 12
    },
    ordercode: {
        name: '订单号',
        type: 'string',
        length: 20
    },
    activeid: {
        name: '活动id',
        type: 'number'
    },
    title: {
        name: '活动标题',
        type: 'string',
        length: 200
    },
    tourl:{
        name: '活动页面',
        type: 'string',
        length: 500
    },
    imgurl:{
        name: '活动简版',
        type: 'string',
        length: 500
    },
    price:{
        name: '订单金额', // 单位：元
        type: 'number',
        default: 0
    },
    total_fee:{
        name: '订单金额', // 单位：分
        type: 'number',
        default: 0
    },
    paystatus:{
        name: '支付状态', // -1 未报名 0-未支付，1-已支付 ，9-已退款
        type: 'number',
        default: -1
    },
    auditstatus: {
        name: '审核状态', // 0-待审核，1-已通过 2-已拒绝
        type: 'number',
        default: 0
    },
    signstatus:{
        name: '签到状态', // 0-未签到，1-签到成功 2-签到失败
        type: 'number',
        default: 0
    },
    signtime: {
        name: '最新签到时间',
        type: 'date'
    },
    paytime: {
        name: '支付时间',
        type: 'date'
    },
    backstatus: {
        name: '退款状态', // PROCESSING-退款中，SUCCESS-成功
        type: 'string'
    },
    backtime: {
        name: '退款时间',
        type: 'date'
    },
    createtime: {
        name: '创建时间',
        type: 'date',
        default: new Date()
    },
    updatetime: {
        name: '更新时间',
        type: 'date',
        default: new Date()
    },
    //订单类型 
    ordertype: {
        type: 'string',
        default: '线下活动',
        enum: ['线下活动', '注册会员']
    },
    // 支付类型
    paytype: {
        type: 'string',
        length: 100
    },
    // 下单详情
    transactions_info: {
        type: 'string',
        length: 5000
    },
    // 退款详情
    refunds_info: {
        type: 'string',
        length: 5000
    },
    // 订单创建时间
    start_time: {
        type: 'date'
    },
    // 订单详情
    order_info: {
        type: 'string',
        length: 5000
    },
    remarks:{ // 备注，签到历史记录
        type: 'string',
        length: 5000
    }
};

module.exports = {
    init,
    format
};